home *** CD-ROM | disk | FTP | other *** search
- Path: library.erc.clarkson.edu!rpi!not-for-mail
- From: rmartin@oma.com (Robert C. Martin)
- Newsgroups: comp.lang.c++.moderated,comp.object,comp.lang.c++
- Subject: Re: how many classes are too much? trying to follow Robert Martin's advice
- Date: 13 Mar 1996 17:57:45 -0000
- Organization: Object Mentor
- Sender: cppmods@netlab.cs.rpi.edu
- Approved: Dietmar.Kuehl@uni-konstanz.de
- Message-ID: <4i72ap$2fo@netlab.cs.rpi.edu>
- References: <4hn86s$im4@netlab.cs.rpi.edu> <4i1fim$bm5@netlab.cs.rpi.edu>
- <4i3vlj$jcs@netlab.cs.rpi.edu>
- NNTP-Posting-Host: netlab.cs.rpi.edu
- X-Original-Date: 13 Mar 1996 17:14:38 GMT
-
-
- rmartin said:
- : The experienced designer does not proliferate classes on a whim. He
- : does *exactly* what you have done. He starts with a few classes, and
- : then partition them according to their convenient abstractions.
-
- In article <4i3vlj$jcs@netlab.cs.rpi.edu> ell@access4.digex.net (Ell) writes:
- Should the developer partition according to "convenient abstractions" for
- "a few classes", gained at one phase of project iteration, and
- incrementation or according to the overall architecture of the project
- based on analysis vocabulary?
-
- Clearly one wants to begin with classes discovered from an analysis of
- the problem domain.
-
- : each partitioning, the designer ensures that the resultant code is
- : simpler and more resilient to change.
-
- : You saw me do this in my book. In almost every case I would start
- : with just a few simple core abstractions, and then I would hunt for
- : the underlying abstractions that would allow me to partition the
- : design to my advantage.
-
- How are underlying abstractions different from and more
- important than domain vocabulary abstractions?
-
- They are identical with domain abstractions. However, they are
- *abstractions*. Often the problem domain vocabulary leads to classes
- that are specific to the particular problem. In many cases,
- underlying abstractions can be found that encompass more than just the
- particular problem being solved. Very often these underlying
- abstractions are found during subsequent iterations of the development
- cycle.
-
-
- --
- Robert Martin | Design Consulting | Training courses offered:
- Object Mentor Assoc.| rmartin@oma.com | OOA/D, C++, Advanced OO
- 14619 N. Somerset Cr| Tel: (847) 918-1004 | Mgt. Overview of OOT
- Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com
-
-
- [ Articles to moderate: mailto:c++-submit@netlab.cs.rpi.edu ]
- [ Read the C++ FAQ: http://www.connobj.com/cpp/cppfaq.htm ]
- [ Moderation policy: http://www.connobj.com/cpp/guide.htm ]
- [ Comments? mailto:c++-request@netlab.cs.rpi.edu ]
-